//
//  JPBaseCell.m
//  JPProjectConfigureDemo
//
//  Created by Carpenter on 2018/2/6.
//  Copyright © 2018年 carpenter. All rights reserved.
//

#import "JPBaseCell.h"


#define jp_cellIdentifier [NSString stringWithFormat:@"%@Identifier",NSStringFromClass([self class])]


@interface JPBaseCell()

/**
 承载单元格的表格
 */
@property (nonatomic ,weak) UITableView * private_table;

@end

@implementation JPBaseCell

-(UITableView *)tableView{
    return self.private_table;
}


+(instancetype)jp_cellForTableView:(UITableView*)tableView{
    return [self jp_cellForTableView:tableView Identifier:jp_cellIdentifier style:UITableViewCellStyleDefault];
}
+(instancetype)jp_cellForTableView:(UITableView *)tableView style:(UITableViewCellStyle)style{
    return [self jp_cellForTableView:tableView Identifier:jp_cellIdentifier style:style];
}
+(instancetype)jp_cellForTableView:(UITableView *)tableView Identifier:(NSString *)identifier{
    return [self jp_cellForTableView:tableView Identifier:identifier style:UITableViewCellStyleDefault];
}
+(instancetype)jp_cellForTableView:(UITableView*)tableView Identifier:(NSString*)identifier style:(UITableViewCellStyle)style {
    
    JPBaseCell * cell = [tableView dequeueReusableCellWithIdentifier:identifier];
    
    if (!cell) {
        
        cell = [[self alloc]initWithStyle:style reuseIdentifier:identifier];
        
        cell.backgroundColor = [UIColor whiteColor];
        
        cell.clipsToBounds = YES;
        
        [cell.imageView sizeToFit];
        
    }
    
    __weak typeof(tableView) weakTable = tableView;
    
    cell.private_table = weakTable;
    
    return cell;
}


-(instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{
    if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
        [self jp_setupSubviews];
        [self jp_configure];
    }
    return self;
}


-(void)jp_configure{}
-(void)jp_setupSubviews{}

@end
